package com.simple.indiapay.controller;

import com.google.common.primitives.Longs;
import com.simple.common.entity.ResData;
import com.simple.common.entity.controller.RedirectDynamicAction;
import com.simple.common.entity.dto.pay.RedirectDto;
import com.simple.common.entity.dto.pay.RedirectFinalDto;
import com.simple.common.entity.dto.pay.RedirectFinalRspDto;
import com.simple.common.entity.dto.pay.RedirectRspDto;
import com.simple.common.entity.po.sys.Trade;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author yasud
 * @date 2021年11月06日 18:56
 * @description
 */
@RestController
public class RedirectController implements RedirectDynamicAction {

    @Override
    public ResData redirectDynamic(RedirectDto redirectDto) throws Exception {
        RedirectRspDto rspDto = new RedirectRspDto();
        rspDto.setTradeNo(Longs.tryParse(redirectDto.getFlag()));
        return ResData.ok(rspDto);
    }

    @Override
    public ResData redirectDynamicFinal(RedirectFinalDto dto) throws Exception {
        Trade trade = dto.getTrade();
        RedirectFinalRspDto rspDto = new RedirectFinalRspDto();
        rspDto.setTrade(trade);
        rspDto.setRedirectUrl(trade.getSyncUrl());
        return ResData.ok(rspDto);
    }
}
